<TagAttribute("particle","part","????","????",2,356)>
Public Class PARTICLE_TAG
Inherits HaloTag
Public Const Extension as String = "particle"
Public Const FourCC as String = "part"
Public Const ParentFourCC as String = "????"
Public Const GrandParentFourCC as String = "????"
Public Const [Version] as Short = 2
Public Const HeaderLength as Integer = 356

''' <summary>
''' 
''' </summary>
<TagField("flags", 1, 20)>
Public flags as Integer

''' <summary>
''' 
''' </summary>
<TagField("bitmap", 16, 10)>
Public bitmap as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("physics", 16, 10)>
Public physics as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("marty traded his kids for this", 16, 10)>
Public marty_traded_his_kids_for_this as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("", 4, -1)>
Public padding as Byte()

''' <summary>
''' 
''' </summary>
<TagField("lifespan:seconds", 2, 1)>
Public lifespan as Single()

''' <summary>
''' 
''' </summary>
<TagField("fade in time", 1, 0)>
Public fade_in_time as Single

''' <summary>
''' 
''' </summary>
<TagField("fade out time", 1, 0)>
Public fade_out_time as Single

''' <summary>
''' 
''' </summary>
<TagField("collision effect", 16, 10)>
Public collision_effect as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("death effect", 16, 10)>
Public death_effect as New TAG_REFERENCE

''' <summary>
''' in the distance, don't get any smaller than this size on the screen
''' </summary>
<TagField("minimum size:pixels", 1, 0)>
Public minimum_size as Single

''' <summary>
''' 
''' </summary>
<TagField("", 8, -1)>
Public padding_1 as Byte()

''' <summary>
''' when created, the radius is multiplied by the first number. at the end of the lifetime, the radius is multiplied by the second number.
''' </summary>
<TagField("radius animation", 2, 1)>
Public radius_animation as Single()

''' <summary>
''' 
''' </summary>
<TagField("", 4, -1)>
Public padding_2 as Byte()

''' <summary>
''' rate at which the particle animates
''' </summary>
<TagField("animation rate:frames per second", 2, 1)>
Public animation_rate as Single()

''' <summary>
''' the decrease in the frame rate caused by a collision
''' </summary>
<TagField("contact deterioration", 1, 0)>
Public contact_deterioration as Single

''' <summary>
''' begin fading the particle out when it's smaller than this size on the screen
''' </summary>
<TagField("fade start size:pixels", 1, 0)>
Public fade_start_size as Single

''' <summary>
''' kill the particle when it's smaller than this size on the screen
''' </summary>
<TagField("fade end size:pixels", 1, 0)>
Public fade_end_size as Single

''' <summary>
''' 
''' </summary>
<TagField("", 4, -1)>
Public padding_3 as Byte()

''' <summary>
''' the index of the first sequence in the bitmap group used by this particle
''' </summary>
<TagField("first sequence index", 1, 23)>
Public first_sequence_index as Short

''' <summary>
''' 
''' </summary>
<TagField("initial sequence count", 1, 23)>
Public initial_sequence_count as Short

''' <summary>
''' 
''' </summary>
<TagField("looping sequence count", 1, 23)>
Public looping_sequence_count as Short

''' <summary>
''' 
''' </summary>
<TagField("final sequence count", 1, 23)>
Public final_sequence_count as Short

''' <summary>
''' 
''' </summary>
<TagField("", 12, -1)>
Public padding_4 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("orientation", 1, 17)>
Public orientation as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_5 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 40, -1)>
Public padding_6 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("shader flags", 1, 19)>
Public shader_flags as Short

''' <summary>
''' 
''' </summary>
<TagField("framebuffer blend function", 1, 17)>
Public framebuffer_blend_function as Short

''' <summary>
''' 
''' </summary>
<TagField("framebuffer fade mode", 1, 17)>
Public framebuffer_fade_mode as Short

''' <summary>
''' 
''' </summary>
<TagField("map flags", 1, 19)>
Public map_flags as Short

''' <summary>
''' 
''' </summary>
<TagField("", 28, -1)>
Public padding_7 as Byte()

''' <summary>
''' Optional multitextured second map
''' </summary>
#Region "Secondary Map"

''' <summary>
''' 
''' </summary>
<TagField("bitmap", 16, 10)>
Public bitmap_1 as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("anchor", 1, 17)>
Public anchor as Short

''' <summary>
''' 
''' </summary>
<TagField("flags", 1, 19)>
Public flags_1 as Short

''' <summary>
''' 
''' </summary>
<TagField("u-animation source", 1, 17)>
Public u as Short

''' <summary>
''' 
''' </summary>
<TagField("u-animation function", 1, 17)>
Public u_1 as Short

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("u-animation period:seconds", 1, 0)>
Public u_2 as Single

''' <summary>
''' 
''' </summary>
<TagField("u-animation phase", 1, 0)>
Public u_3 as Single

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("u-animation scale:repeats", 1, 0)>
Public u_4 as Single

''' <summary>
''' 
''' </summary>
<TagField("v-animation source", 1, 17)>
Public v as Short

''' <summary>
''' 
''' </summary>
<TagField("v-animation function", 1, 17)>
Public v_1 as Short

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("v-animation period:seconds", 1, 0)>
Public v_2 as Single

''' <summary>
''' 
''' </summary>
<TagField("v-animation phase", 1, 0)>
Public v_3 as Single

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("v-animation scale:repeats", 1, 0)>
Public v_4 as Single

''' <summary>
''' 
''' </summary>
<TagField("rotation-animation source", 1, 17)>
Public rotation as Short

''' <summary>
''' 
''' </summary>
<TagField("rotation-animation function", 1, 17)>
Public rotation_1 as Short

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("rotation-animation period:seconds", 1, 0)>
Public rotation_2 as Single

''' <summary>
''' 
''' </summary>
<TagField("rotation-animation phase", 1, 0)>
Public rotation_3 as Single

''' <summary>
''' 0 defaults to 360
''' </summary>
<TagField("rotation-animation scale:degrees", 1, 0)>
Public rotation_4 as Single

''' <summary>
''' 
''' </summary>
<TagField("rotation-animation center", 2, 1)>
Public rotation_5 as Single()

''' <summary>
''' 
''' </summary>
<TagField("", 4, -1)>
Public padding_8 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("zsprite radius scale", 1, 0)>
Public zsprite_radius_scale as Single

''' <summary>
''' 
''' </summary>
<TagField("", 20, -1)>
Public padding_9 as Byte()
#End Region

End Class
